import { createStore } from "vuex"

import moduleA from "./modules/moduleA"
import moduleB from "./modules/moduleB"

const store = createStore({
    modules:{
        a:moduleA,
        b:moduleB
    },
    state(){
        return {
            count:10
        }
    },
    getters:{
        tenTimes :(state) =>{
            return state.count *10
        }
    },
    mutations:{
        increment(state,payload){
            state.count =payload.count
        }
    },
    actions:{
        asyncIncrement(context,payload){
            context.commit('increment',payload)
        }
    }
})

// //创建一个新的store实例
// const store = createStore({
//     state(){
//         return {
//             count:100
//         }
//     },
//     getters:{
//         tenTimes:(state)=>{
//             return state.count *10
//         }
//     },
//     mutations:{
//         increment(state,payload){
//             state.count = payload.count
//         }
//     },
//     actions: {
//         asyncIncrement(context,payload) {
//             context.commit('increment', payload)
//         }
//     }
// })

//将实例化对象对外暴露
export default store